package com.cellulam.framework.core.log;

import com.cellulam.framework.core.log.enums.LogLevel;
import com.cellulam.framework.core.log.enums.SystemLogType;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class SystemLog {

    /** 日志类型, enum:SystemLogType, 0:unknown:未知;1:slow_sql:慢SQL;2:slow_request:慢请求    */
    private SystemLogType type;
    /** 日志等级, enum:LogLevel, 0:debug:debug,1:info:info,2:warn:warn,3:error:error:error    */
    private LogLevel level;
    /** 标识    */
    private Long identifier;
    /** URL    */
    private String url;
    /** 错误码    */
    private Integer status;
    /** 错误信息    */
    private String message;
    /** 执行耗时，单位毫秒  默认值: 0  */
    private Integer cost;
    /** 异常名称    */
    private String exceptName;
    /** 引发异常名称    */
    private String causeExceptName;
    /** 备注    */
    private String memo;
}
